#pragma once

#include "BaseInc.h"

class CMouse : public IMouse
{
public:
	CMouse() {}
	~CMouse() {}

	bool IsMouseDown(MouseButton mouseButton);
	bool IsMouseUp(MouseButton mouseButton);
};

class CKeyboard : public IKeyboard
{
public:
	CKeyboard() {}
	~CKeyboard() {}

	bool IsKeyDown(KeyCode keyCode);
	bool IsKeyUp(KeyCode keyCode);
	bool IsKeyLock(KeyCode keyCode);
};

class CScreen : public IScreen
{
public:
	CScreen() {}
	~CScreen() {}

	CSizeInt32 GetSize();
	CSizeInt32 GetClientSize();
	int_32 GetWidth();
	int_32 GetHeight();
};


class CDevice : public IDevice
{
public:
	CDevice() {}
	~CDevice() {}

	IMouse * GetMouse() { return &m_mouse;}
	IKeyboard * GetKeybord() { return &m_keyboard;}
	IScreen * GetScreen() { return &m_screen;}

private:
	CMouse m_mouse;
	CKeyboard m_keyboard;
	CScreen m_screen;
};